一、数据库级别的
1、查看当前系统上存在的数据库
语法:mysql> show databases;
2、创建一个数据库
语法:mysql> create database zhanglin;
3、切换到指定的数据库下
语法:mysql>USE DATABASE_NAME;
4、删除数据库
语法:mysql>DROP DATABASE DATABASE_NAME;
二、表的操作
1、查询当前数据库中存在的表
语法:mysql>SHOW TABLES;
2、创建表
语法:CREATE TABLE TABLE_NAME(字段名1 字段类型1,字段名1 字段类型1,... ...);
mysql> create table zhanglin
-> (ID int,
-> fast_name varchar(10),
-> last_name varchar(10));
Query OK, 0 rows affected (0.02 sec)
3、显示表结构
语法: DESCRIBE table_name ; 通常情况下只需写出 desc table_name即可。
4、修改表结构操作
1).添加字段
语法: ALTER TABLE table_name ADD field_name field_type;
例如 : mysql> ALTER TABLE ZHANGLIN ADD dept_no int;
2).删除字段
语法: ALTER TABLE table_name DROP field_name;
例如:mysql> alter table zhanglin drop dept_no;
3).修改字段名和类型
语法:ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
4).添加字段约束条件
语法: ALTER TABLE table_name add field_name;
例如:mysql> alter table zhanglin add dept_no;
4).删除字段约束条件
语法: ALTER TABLE table_name DROP field_name;
例如:mysql> alter table zhanglin drop dept_no;
5、清空表
语法:DELETE FROM TABLE_NAME;
6、删除表
语法:DROP TABLE table_name;
7、移动表
语法: RENAME TABLE old_db_tablename TO new_db_tablename
8、表重命名
语法:RENAME TABLE old_table_name TO new_table_name;
例如:mysql> rename table zhanglin to zhanglin_new;
当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。
RENAME TABLE 在 MySQL 3.23.23 中被加入。
三、表记录操作
1、插入记录操作
语法:
INSERT INTO TABLE_NAME(字段1,字段2,...) VALUES (值1,值2,...) ---->一般用于表的部分列
INSERT INTO TABLE_NAME VALUES (值1,值2,...) ---> 用于表的全部列
例如:
mysql> insert into zhanglin values(1,'lin','zhang');
Query OK, 1 row affected (0.00 sec)
mysql> insert into zhanglin values(2,'林','张');
Query OK, 1 row affected (0.00 sec)
2、查询记录操作
语法:
SELECT 字段1,字段2,... FROM TABLE_NAME WHERE < 表达式 > --->一般是查询表的部分字段,也可全部字段
SELECT * FROM TABLE_NAME; ---->查询全部字段
不加where 就是查询全部的数据记录,加where会根据where里面的条件进行筛选。
例如:
mysql> SELECT * FROM ZHANGLIN;
+------+-----------+-----------+
| ID | fast_name | last_name |
+------+-----------+-----------+
| 1 | lin | zhang |
| 2 | 林 | 张 |
+------+-----------+-----------+
2 rows in set (0.00 sec)
3、修改记录操作
语法;
UPDATE TABLE_NAME SET 列名1=新值1,列名2=新值2,... WHERE
不加where 就是修改全部的数据记录,加where会根据where里面的条件进行修改。
mysql> UPDATE ZHANGLIN SET ID=3;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> SELECT * FROM ZHANGLIN;
+------+-----------+-----------+
| ID | fast_name | last_name |
+------+-----------+-----------+
| 3 | lin | zhang |
| 3 | 林 | 张 |
+------+-----------+-----------+
2 rows in set (0.00 sec)
4、删除记录操作
语法: DELETE FROM TABLE_NAME WHERE
四、表索引操作
1、加索引
语法:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table ZHANGLIN add index emp_name (name);
2、加主关键字的索引
语法:mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table ZHANGLIN add primary key(id);
3、加唯一限制条件的索引
语法:mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table ZHANGLIN add unique emp_name2(cardnumber);
4、删除某个索引
语法:mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table ZHANGLIN drop index emp_name;
五、常用查询语句
1)、显示MYSQL的版本
语法:mysql> select version();
2)、显示当前时间
语法:mysql> select now();
3)、显示年月日
SELECT DAYOFMONTH(CURRENT_DATE);
SELECT MONTH(CURRENT_DATE);
SELECT YEAR(CURRENT_DATE);
4)、显示字符串
语法:mysql> SELECT "Welecome to my blog!";
5)、串接字符串
语法:mysql> select id,concat(last_name,"",fast_name) as name from zhanglin;
+------+----------+
| id | name |
+------+----------+
| 1 | zhanglin |
| 2 | 张林 |
+------+----------+
2 rows in set (0.00 sec)
6)、查询前几行数据
mysql> select * from zhanglin order by id limit 0,1;