数据库定义语句:
- create:创建数据库及表对象
- drop:删除数据库及表对象
- alter:修改数据库及表对象
数据库控制语句:
- insert:向表中插入数据
- delete:将表中数据删除
- update:更改表中数据
- select:检索表中数据
数据库管理语句:
- grant:给用户授权
- revoke:回收用户权限
create
mysql> create table customers
-> (
-> cust_id int(4) primary key not null auto_increment, #创建表格,指定了主键,不允许为空,自增张
-> cust_name char(20) not null,
-> cust_sex char(5) not null,
-> cust_add char(20) not null default 'china', #默认值为'China'
-> cust_city char(20) not null default 'beijing'
-> );
alter:
1. MariaDB [test]> alter table test.customers
-> change column cust_sex sex char(2) null default 'M';
//修改表中字段名称及数据类型,change子句。
2. MariaDB [test]> alter table test.customers
-> alter column cust_city set default 'hangzhou';
//alter子句用来修改表中字段的默认值的。
3. MariaDB [test]> alter table test.customers
-> modify column cust_name char(20) first;
//modify子句用来修改表中字段的数据类型,first表示将这个字段设为第一列。
4. MariaDB [test]> alter table test.customers
-> drop column sex;
//drop子句用来删除表中字段(列,一个意思,别混淆)
MariaDB [test]> desc test.customers;
+--------------+-------------+------+-----+----------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+----------+----------------+
| cust_name | char(20) | YES | | NULL | |
| cust_id | int(11) | NO | PRI | NULL | auto_increment |
| cust_add | varchar(50) | NO | | fd | |
| cust_city | char(10) | NO | | hangzhou | |
| cust_contact | char(50) | NO | | NULL | |
+--------------+-------------+------+-----+----------+----------------+
5. MariaDB [test]> alter table test.customers
-> rename to test.customers_backup;
MariaDB [test]> rename table test.customers_backup to test.customers;
//rename子句用来修改表的名称
6. MariaDB [test]> show tables from test;
//查看test库下表
7. MariaDB [test]> show columns from test.customers;
//查看该表的字段以及数据类型
insert
MariaDB [(none)]> insert into
-> test.customers
-> values
-> ('zhangsan',101,'qiao','BeiJing','Ali');
//向表中插入数据,千万要注意符合设定的约束即数据类型,字符要加引号。
MariaDB [(none)]> insert into test.customers
-> set cust_name='111',cust_add='WU';
//插入单个或多个指定字段的数据。
还有一个用法就是,insert……select,将从某个表对象查询的表插入到这个表对象中,需要注意的是,要注意数据类型一致性
delete
MariaDB [(none)]> delete from test.customers
-> where cust_name='lisi';
//删除满足条件的行记录
update
MariaDB [(none)]> update test.customers
-> set cust_add='ShanTou'
-> where cust_name='zhangsan';
select
MariaDB [(none)]> select cust_name from test.customers where cust_name='qiao1';
//查询指定字段,并满足where子句的条件。
MariaDB [(none)]> select cust_name,cust_add as dizhi from test.customers;
+-----------+-------+
| cust_name | dizhi |
+-----------+-------+
| qiao1 | BJ |
| qiao2 | CD |
+-----------+-------+
//as后起一个别名,并不改变表中数据
MariaDB [(none)]> select cust_name, case when cust_add='BJ' then 'BeiJing' else 'other city' end as dizhi from test.customers;
+-----------+------------+
| cust_name | dizhi |
+-----------+------------+
| qiao1 | BeiJing |
| qiao2 | other city |
+-----------+------------+
MariaDB [(none)]> select cust_name,cust_id+1000000000000000000000000000000 from test.customers;
+-----------+-----------------------------------------+
| cust_name | cust_id+1000000000000000000000000000000 |
+-----------+-----------------------------------------+
| qiao1 | 1000000000000000000000000000111 |
| qiao2 | 1000000000000000000000000000112 |
+-----------+-----------------------------------------+