开发/数据库

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 开发/数据库

MySQL快速入门级方法详解 你都会了吗?

作者:CSDN网出处:论坛2018-09-12 17:30

今天,为大家带来关于MySQL快速入门级的方法,希望对大家有所帮助。

sql 分类:

  1.   DDL:数据库定义语言,用于定义表,列,索引等数据库对象. create,drop,alter等
  2.   DML:数据库操纵语言,增删改查数据库的记录insert,delete,update,select等
  3.   DCL:数据库控制语言,定义了数据库的表,字段,用户的访问权限和安全级别 grant,revoke等

DCL语句:

(1)授权:创建一个数据库用户 hehe,具有对 user 数据库中所有表的 SELECT / INSERT 权限:
grant select,insert on user.* to 'hehe'@'localhost' identified by '123';

(2)收回权限:由于权限变更,需要将 ff 的权限变更,收回 INSERT,只能对数据进行 SELECT 操作:
revoke insert on user.* from 'ff'@'localhost';

一. 登录MySQL

  1. mysql -u 用户名 -p 密码
  2. mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p
  3. mysql> exit # 退出 使用 “quit;” 或 “\q;” 一样的效果
  4. mysql> status; # 显示当前mysql的version的各种信息
  5. mysql> select version(); # 显示当前mysql的version信息
  6. mysql> show global variables like 'port'; # 查看MySQL端口号

二. 创建数据库

  1. -- 创建一个名为 demo_db 的数据库,数据库字符编码指定为 utf-8
  2. create database demo_db charset=utf8;
  3. drop database demo_db; -- 删除 库名为demo_db的库
  4. show databases; -- 显示数据库列表。
  5. use demo_db; -- 选择创建的数据库demo_db
  6. show tables; -- 显示demo_db下面所有的表名字
  7. desc 表名; -- 显示数据表的结构
  8. delete from 表名; -- 清空表中记录

三. 创建数据表

  1. -- 如果数据库中存在user_accounts表,就把它从数据库中drop掉
  2. DROP TABLE IF EXISTS `user_accounts`;
  3. CREATE TABLE `user_accounts` (
  4. `id` int(100) unsigned NOT NULL AUTO_INCREMENT primary key,
  5. `password` varchar(32) NOT NULL DEFAULT '' COMMENT '用户密码',
  6. `reset_password` tinyint(32) NOT NULL DEFAULT 0 COMMENT '用户类型:0-不需要重置密码;1-需要重置密码',
  7. `mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机',
  8. `create_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
  9. `update_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  10. -- 创建唯一索引,不允许重复
  11. UNIQUE INDEX idx_user_mobile(`mobile`)
  12. )
  13. ENGINE=InnoDB DEFAULT CHARSET=utf8
  14. COMMENT='用户表信息';

数据类型的属性解释

  • NULL:数据列可包含NULL值;
  • NOT NULL:数据列不允许包含NULL值;
  • DEFAULT:默认值;
  • PRIMARY:KEY 主键;
  • AUTO_INCREMENT:自动递增,适用于整数类型;
  • UNSIGNED:是指数值类型只能为正数;
  • CHARACTER SET name:指定一个字符集;
  • COMMENT:对表或者字段说明;

创建后对表的修改(增删改查):

1.添加列(add)

语法:alter table 表名 add 列名 列数据类型 [after 插入位置];

  1. -- 在表students的最后追加列 address:
  2. alter table students add address char(60);
  3. -- 在名为 age 的列后插入列 birthday:
  4. alter table students add birthday date after age;
  5. -- 在名为 number_people 的列后插入列 weeks:
  6. alter table students add column `weeks` varchar(5) not null default "" after `number_people`;--

2.修改列(change/modify)

语法:alter table 表名 change 列名称 列新名称 新数据类型;

  1. -- 将表 tel 列改名为 telphone:
  2. alter table students change tel telphone char(13) default "-";
  3. -- 将 name 列的数据类型改为 char(16):
  4. alter table students change name name char(16) not null;
  5. -- 修改 COMMENT 前面必须得有类型属性
  6. alter table students change name name char(16) COMMENT '这里是名字';
  7. -- 修改列属性的时候 建议使用modify,不需要重建表
  8. -- change用于修改列名字,这个需要重建表
  9. alter table meeting modify `weeks` varchar(20) NOT NULL DEFAULT '' COMMENT '开放日期 周一到周日:0~6,间隔用英文逗号隔开';
  10. -- `user`表的`id`列,修改成字符串类型长度50,不能为空,`FIRST`放在第一列的位置
  11. alter table `user` modify COLUMN `id` varchar(50) NOT NULL FIRST ;

3.删除列(drop)

语法:alter table 表名 drop 列名称;

  1. -- 删除表students中的 birthday 列:
  2. alter table students drop birthday;

4.重命名表(rename)

语法:alter table 表名 rename 新表名;

  1. -- 重命名 students 表为 workmates:
  2. alter table students rename workmates;

5. 清空数据表(delete / truncate)

方法一:delete from 表名; 

方法二:truncate from "表名";

  • DELETE:1. DML语言;  2. 可以回退;  3. 可以有条件的删除;
  • TRUNCATE:1. DDL语言;  2. 无法回退;  3. 默认所有的表内容都删除;  4. 删除速度比delete快。

  1. -- 清空表为 workmates 里面的数据,不删除表。
  2. delete from workmates;
  3. -- 删除workmates表中的所有数据,且无法恢复
  4. truncate table workmates;

6. 删除数据表(drop)

语法:drop table 表名;

  1. -- 删除 workmates 表:
  2. drop table workmates;

7. 删除整个数据库(drop)

语法:drop database 数据库名;

  1. -- 删除 samp_db 数据库:
  2. drop database samp_db;

相关文章

关键词:MySQL,MySQL入门级

责任编辑:林音子

网警备案