创建表

  1. creat table tablename(
  2. id int auto_increment primary key,
  3. name varchar(32),
  4. age int
  5. )engine=innodb default charset=utf8;
  6. #engine 指明数据库建表引擎为innodb(支持事物操作)
  7. #myisam 不支持事物
  8. #default charset=utf-8 指明数据库表的编码字符集为utf8

列属性选项

  1. [NOT NULL | NULL] [DEFAULT 默认值]
  2. [AUTO_INCREMENT] [UNIQUE [KEY] | PRIMARY [KEY]]
  3. [COMMENT '列注释']...

自增列 AUTO_INCREMENT =值

最大/小记录行数 MAX_ROWS = 值. MIN_ROWS=值

修改表

  1. ALTER [IGNORE] TABLE 表名
  2. 修改项..

修改项:

  1. ADD COLUMN 列定义 [FIRST|AFTER 列名] #添加列
  2. ALTER COLUMN 列名 {SET DEFAULT ' ' | DROP DEFAULT} #添加/删除默认值
  3. CHANGE COLUMN 旧列名 列定义[FIRST|AFTER 列名] #列重命名
  4. MODIFY COLUMN 列定义 [FIRST | AFTER 列名] #修改列类型
  5. DROP COLUMN 列名 #删除列
  6. RENAME 新表名 #对表重命名
  7. ORDER BY 列名. #根据某个列的数据来排序

删除表

  1. DROP TABLE [IF EXISTS] 表名

表数据操作

添加数据

  1. INSERT INTO <表名>
  2. SET <列名1> = <值1>,
  3. <列名2> = <值2>,
  1. insert into tablename values('...','...','...',null); #所有列数据 即使是null

添加数据有三种方法:

  1. insert into tablename(name,age) values('roderick',18);
  2. insert into tablename(name,age) values('AA',18),('BB',18);
  3. #可以跟多条记录,一元组的形式添加
  4. insert into tablename(name,age) select name,age from tablename2;
  5. #从别的表查找数据 写入 (复制)

修改数据

  1. UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2 ] [WHERE 子句 ]
  2. [ORDER BY 子句] [LIMIT 子句]
  • <表名>:用于指定要更新的表名称。
  • SET 子句:用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的默认值。如果指定的是默认值,可用关键字 DEFAULT 表示列值。
  • WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。
  • ORDER BY 子句:可选项。用于限定表中的行被修改的次序。
  • LIMIT 子句:可选项。用于限定被修改的行数。

根据条件修改表中数据:

  1. mysql> UPDATE tb_courses_new
  2. -> SET course_name='DB',course_grade=3.5
  3. -> WHERE course_id=2;
  4. Query OK, 1 row affected (0.13 sec)
  5. Rows matched: 1 Changed: 1 Warnings: 0
  6. mysql> SELECT * FROM tb_courses_new;
  7. +-----------+-------------+--------------+------------------+
  8. | course_id | course_name | course_grade | course_info |
  9. +-----------+-------------+--------------+------------------+
  10. | 1 | Network | 4 | Computer Network |
  11. | 2 | DB | 3.5 | MySQL |
  12. | 3 | Java | 4 | Java EE |
  13. +-----------+-------------+--------------+------------------+
  14. 3 rows in set (0.00 sec)

删除数据

删除表中数据,但是不删除表,三种方法:

  1. delete from tb1 where id>10 #跟条件(常用)
  1. delete from tablename; #删除数据,但是自增计数不会被删除 单纯的清掉数据
  2. truncate table tablename; #清空表,相当于新的表 自增计数0