当前位置:Gxlcms > 数据库问题 > MySQL(1)

MySQL(1)

时间:2021-07-01 10:21:17 帮助过:9人阅读

  1. -- --SQL中 DML、DDL、DCL区别 .
  2. -- -- DML(data manipulation language):
  3. -- 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的
  4. -- 数据进行操作的语言
  5. --
  6. -- -- DDL(data definition language):
  7. -- DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)
  8. -- 的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
  9. --
  10. -- -- DCL(Data Control Language):
  11. -- 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)
  12. -- 语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权
  13. -- 力执行DCL
技术分享

2.2关于数据库操作的sql语句

  1. -- 1.创建数据库(在磁盘上创建一个对应的文件夹)
  2. create database [if not exists] db_name [character set xxx]
  3. -- 2.查看数据库
  4. show databases;查看所有数据库
  5. show create database db_name; 查看数据库的创建方式
  6. -- 3.修改数据库
  7. alter database db_name [character set xxx]
  8. -- 4.删除数据库
  9. drop database [if exists] db_name;
  10. -- 5.使用数据库
  11. 切换数据库 use db_name; -- 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
  12. 查看当前使用的数据库 select database();

2.3数据表的增删改查

创建一张表

  1. -- 语法
  2. create table tab_name(
  3. field1 type[完整性约束条件],
  4. field2 type,
  5. ...
  6. fieldn type
  7. )[character set xxx];
  1. -- 创建一个员工表employee
  2. create table employee(
  3. id int primary key auto_increment ,
  4. name varchar(20),
  5. gender bit default 1, -- gender char(1) default 1 ----- 或者 TINYINT(1)
  6. birthday date,
  7. job varchar(20),
  8. salary double(4,2) unsigned,
  9. resume text -- 注意,这里作为最后一个字段不加逗号
  10. );
  11. /* 约束:
  12. primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!
  13. unique
  14. not null
  15. auto_increment :用于主键字段,主键字段必须是数字类型
  16. */

查看表信息

  1. desc tab_name 查看表结构
  2. show columns from tab_name 查看表结构
  3. show tables 查看当前数据库中的所有的表
  4. show create table tab_name 查看当前数据库表建表语句

修改表结构

  1. -- (1)增加列(字段)
  2. alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
  3. alter table user add addr varchar(20) not null unique first/after username;
  4. #添加多个字段
  5. alter table users2
  6. add addr varchar(20),
  7. add age int first,
  8. add birth varchar(20) after name;
  9. -- (2)修改一列类型
  10. alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
  11. alter table users2 modify age tinyint default 20;
  12. alter table users2 modify age int after id;
  13. -- (3)修改列名
  14. alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
  15. alter table users2 change age Age int default 28 first;
  16. -- (4)删除一列
  17. alter table tab_name drop [column] 列名;
  18. -- 思考:删除多列呢?删一个填一个呢?
  19. alter table users2
  20. add salary float(6,2) unsigned not null after name,
  21. drop addr;
  22. -- (5)修改表名
  23. rename table 表名 to 新表名;
  24. -- (6)修该表所用的字符集
  25. alter table student character set utf8;

删除表

  1. drop table tab_name;

MySQL(1)

标签:security   root用户   Owner   检索   多个   nload   开机   data   选项   

人气教程排行