【MySQL基础必知必会】表操作语句

MySQL基础必知必会

  • MySQL常用语句
    1. 表(或者数据库)的CRUD
    2. 表数据的CRUD,其中表数据查询使用最多,也更复杂。查询可以按照单表还是多表可以分为:单表SELECT查询和多表的联结查询(INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL JOIN)以及组合查询UNION和UNION ALL
    3. SQL语句中各个关键字的执行顺序
  • MySQL的高级功能
    1. 存储过程
    2. 事务处理
    3. 触发器

1. 表(或数据库)操作语句

1.1. 查询表(或数据库)

  1. 获取所有可用的数据库SHOW DATABASES
  2. 选择数据库USE customers
  3. 用于显示数据库服务器的状态信息SHOW STATUS
  4. 用于显示授权用户的安全权限SHOW GRANTS
  5. 用于显示数据库服务器或警告信息SHOW ERRORS 或者 SHOW WARNINGS
  6. 用于显示创建数据库时的创建语句SHOW CREATE DATABASE customers
  7. 用于显示创建表时的创建语句SHOW CREATE TABLE customers
  8. 获取当前所选的数据库中所有可用的表SHOW TABLES
  9. 获取表中所有列的信息SHOW COLUMNS FROM tableName;同时DESCRIBE语句有相同的效果:DESCRIBE tableName

1.2. 新建表(或)数据库

  1. 新建数据库CREATE DATABASE customers;

  2. 创建表可以使用CREATE TABLE语句:

     CREATE TABLE customers(
       cust_id INT NOT NULL AUTO_INCREMENT,
       cust_name CHAR(50) NOT NULL,
       cust_age INT NULL DEFAULT 18,
       PRIMARY KEY(cust_id)
     )ENGINE=INNODB;
    

    有这样一些细节:

    1. 允许NULL值,则说明在插入行数据时允许不给出该列的值,而NOT NULL则表示在插入或者更新该列数据,必须明确给出该列的值;
    2. DEFAULT表示该列的默认值,在插入行数据时,若没有给出该列的值就会使用其指定的默认值;
    3. PRIMARY KEY用于指定主键,主键可以指定一列数据,而可以由多列数据组合构成,如PRIMARY KEY(cust_id,cust_name)
    4. ENGINE用于指定引擎类型。常见的引擎类型有这些:(1)InnoDB是一个支持可靠的事务处理的引擎,但是不支持全文本搜索;(2)MyISAM是一个性能极高的引擎,它支持全文本搜索,但是不支持事务处理;(3)MEMORY在功能上等同于MyISAM,但由于数据存储在内存中,速度很快(特别适合于临时表);
  3. 在创建表的时候可以使用FOREIGN KEY来创建外键,即一个表中的FOREIGN KEY指向另一个表中PRIMARY KEY。外键FOREIGN KEY用于约束破坏表的联结动作,保证两个表的数据完整性。同时也能防止非法数据插入外键列,因为该列值必须指向另一个表的主键。实例为:

     CREATE TABLE Orders
     (
     Id_O int NOT NULL,
     OrderNo int NOT NULL,
     Id_P int,
     PRIMARY KEY (Id_O),
     FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
     )
    

1.3 删除表(或数据库)

  1. 删除数据库DROP DATABASE customers
  2. 删除表,使用DROP TABLE子句:DROP TABLE customers

1.4 更新表

  1. 更新表结构信息可以使用ALTER TABLE子句,如为表增加一列:ALTER TABLE vendors ADD vend_name CHAR(20);另外经常用于定义外键,如:

     ALTER TABLE customers 
     ADD CONSTRAINT fk_custormer_orders
     FOREIGN KEY(cust_id) REFERENCES orders (order_cust)
    
  2. 重命名表,使用RENAME子句RENAME TABLE backup_customers TO customers, backup_vendors TO vendors;更改多个表名,之间用逗号间隔

你可能感兴趣的:(【MySQL基础必知必会】表操作语句)