- 启动
在管理员权限下在DOS输:net start mysql 启动
在输入:mysql -u root -p进入
- 以下实例表类型:
- 创建表CREATE与表的插入INSERT
CREATE TABLE table_name (column_name column_type);
INSERT INTO table_name (field1,field2,...,fieldN) VALUES (value1,value2,...,valueN);
由于每执行一条sql语句,就会与服务器建立一次连接,所以最好用一条语句同时插入多条:
insert into student values('2005150026','赵哈哈', '女', 23, 'CS'),('200515027', '王菁菁', '女', 23, 'CS');
//请在下面输入创建表dept的MySQL语句
CREATE TABLE dept(detno INT(2) NOT NULL,dname CHAR(14),loc CHAR(13));
//请在下面输入创建表emp的MySQL语句
CREATE TABLE emp(empno INT(4) NOT NULL,ename CHAR(9),job CHAR(10),mgr INT(4),sal INT(7));
//请在下面输入向表dept中插入数据的MySQL语句
INSERT dept VALUES(60,"Computer","Beijing");
insert into student values('2005150026','赵哈哈', '女', 23, 'CS'),('200515027', '王菁菁', '女', 23, 'CS');
- 删除DROP、DELETE修改UPDATE表中数据
DROP TABLE table_name ;//删除数据表
DELETE FROM table_name [WHERE Clause]
UPDATE table_name SET field1=new-value1,field2=new-value2 [WHERE Clause]
//请在下面输入删除zhang的MySQL语句
DELETE FROM emp WHERE ename="zhang";
//请在下面输入更新chang的MySQL语句
UPDATE emp SET deptno=20 WHERE ename="chang";
- 查询SELECT
SELECT column_name1,column_name2 FROM table_name [WHERE Clause] [OFFSET M ] [LIMIT N]
INSERT INTO dept(deptno,dname,loc) VALUES (10,'research','beijing'),(20,'account','chengdu'),(30,'sales','changsha');
INSERT INTO emp(empno,ename,job,mgr,sal,comm,deptno) VALUES (1,'zcq','clerk',10,2000,100,20), (2,'lbh','analyst',20,6000,200,10), (3,'hdy','clerk',20,8000,300,20), (4,'ljz','salesman',30,3000,400,30), (5,'ssr','clerk',30,8000,500,30);
//请在下面输入查询在20号部门工作的雇员姓名和工资的MySQL语句
SELECT ename,sal FROM emp WHERE deptno=20;
//请在下面输入使用LIKE查找以“s”开头的雇员姓名和所在部门的MySQL语句
SELECT ename,deptno FROM emp WHERE ename LIKE 's%';
//请在下面输入按工资升序排列20号部门的雇员的MySQL语句
SELECT ename,sal FROM emp WHERE deptno=20 ORDER BY sal ASC;
//请在下面输入查询所有部门中工资大于2800美元的雇员的MySQL语句
SELECT ename,sal FROM emp WHERE sal>2800;
//请在下面输入使用IN查找工种是职员(clerk)或分析员(analyst)的雇员姓名和工种 的MySQL语句
SELECT ename,job FROM emp WHERE job IN ('clerk','analyst');
//请在下面输入查在编号为10的部门中哪些工种是编号为30的部门中没有的 的MySQL语句
SELECT job FROM emp WHERE deptno=10 AND job NOT IN (SELECT job FROM emp WHERE deptno=30);
- 约束
- 主键约束primary key。一张表只能有一个主键且非null,而联合主键是将多个字段看做一个主键。
CREATE TABLE t_emp2
(
name VARCHAR(32) PRIMARY KEY,
deptId INT,
)
//多字段联合主键
CREATE TABLE t_emp2
(
name VARCHAR(32),
deptId INT,
salary FLOAT,
PRIMARY KEY(name,deptId)
)
- 唯一约束unique。要求该列唯一。一张表可以有多个 ,可为null
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) UNIQUE,
)
- 非空not null约束
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) NOT NULL,
)
- 自增auto_increment约束,默认从1开始,步幅为1
CREATE TABLE t_tmp
(
id int PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(32)
)
- 默认default约束。注意:默认为中文字符时要在建表后加DEFAULT CHARSET=utf8
CREATE TABLE t_emp(
id INT PRIMARY KEY,
sex VARCHAR(2) DEFAULT '男'
) DEFAULT CHARSET=utf8;
- alter
1、添加新的列:
alter table test_table add new_column char(20) not null;
2、删除某列
alter table stud drop column age;