(二)、mysql之数据库的操作

11、DDL之操作表
创建表:
CREATE TABLE[IF NOT EXISTS] 表名(
列名 列类型,
列名 列类型,

列名 列类型
);
查看当前数据库中所有表名称:SHOW TABLES;
查看指定表的创建语句:SHOW CREATE TABLE 表名(了解);
查看表结构:DESC 表名;
删除表:DROP TABLE 表名;
修改表:

前缀:ALTER TABLE 表名;
添加列:
ALTER TABLE 表名 ADD(
列名 列类型,
列名 列类型,
…);
修改列类型(如果被修改的列存在数据,那么修改的类型可能会影响到已存在数据):
ALTER TABLE 表名 MODIFY 列名 列类型;
修改列名:
删除列:ALTER TABLE 表名 DROP 列名;
修改表名称:ALTER TABLE 原表名 RENAME TO 新表名;
12、DML之INSERT
DQL select *from emp(表); 查询表记录
DML(数据操作语言,他是对表记录操作(增删改)!)
1、插入数据
INSERT TO 表名(列名1,列名2,…) VALUES(列值1,列值2,…);
在表名后要插入的列名,其他没有指定的列等同与插入null值。所以插入记录总是插入一行。不可能半行。(在数据库中所有的字符串类型,必须使用单引,不能使用双引号。
日期类型也要使用单引号)
在values后给出列值,值的顺序和个数必须与前面指定的列对应
*INSERT INTO 表名 VALUES(列值1,列值1)
没有给出要插入的列值,那么表示插入所有列(但是可读性降低)
值的个数必须是该表列的个数
值的顺序,必须与表创建时给出的列的顺序相同
//插入部分列,没有插入的列,默认的为null
INSERT INTO STU(
number,name
)VALUES(
‘iconic’,’lisi’
)
2、修改数据
UPDATE 表名 SET 列名1=列值1,列名2=列值2,[where 条件]
3、删除数据
DELETE FROM 表名【WHERE 条件】//不加where直接删除表,备份
TRUNCATE TABLE 表名:TRUNCATE是DDL语句,它是先删除drop该表,再create该表。而无法回滚。
条件:
运算符:=、!=、<>、>、<、>=、<=、BETWEEN…AND、IN(…)、IS NULL、NOT、OR、AND
注意:
update th_student set age=10 where age is null;(其中不可以换成age=null)
13、DCL
一个项目创建一个用户!一个项目对应的数据库只有一个!
这个用户只能对这个数据库有权限,其他数据库就操作不了。
1、创建用户
CREATE USER 用户名@IP地址 IDENTIFIED BY ‘密码’;
用户只能在指定的IP地址上登录
CREATE USER 用户名@’%’ IDENTIFIED BY ‘密码’;
用户可以在任意IP地址上登录
2、给用户授权
GRANT 权限1,…,权限n ON 数据库.* TO 用户名@IP地址
权限、用户、数据库
给用户分派在指定的数据库上的指定的权限
例如:GRANT CREATE,ALTER,DROP,INSER on mysdb3.* to zhangsan@locahost
GRANT ALL ON 数据库.* TO 用户名@IP地址
给用户分派指定数据库上的指定权限
3、撤销授权
REVOKE 权限1、…权限n ON 数据库.* FROM 用户名@IP地址;
撤销指定用户在指定数据库上的指定权限
4、查看权限
SHOW GRANTS FOR 用户名@IP地址
查看只当用户的权限
5、删除用户
DROP USER 用户名@IP地址
14、DQL-数据基本查询
一、基本查询
1、字段(列)控制
SELECT *FROM 表名;
SELECT *FROM emp;
–>其中‘*’表示查询所有列
2、查询指定列
SELECT 列1 [,列2,…列N] FROM 表名;
SELECT empno,ename,sal,conn FROM 表名;
3、完全重复的记录一次
去除完全重复行、
SELECT DISTINCT * 列 FROM 表
4、列运算
I 数量类型的列可以做加、减、乘、除运算
SELECT SAL*1.5 FROM EMP;
SELECT SAL+COMM FROM EMP;
II 字符串类型可以做连续运算
SELECT CONCAT(‘$’,sal) FROM emp;
III 转换NULL值
有时需要把NULL值转换为其它的值,列如com+1000时,如果com列存在NULL值,那么NULL+1000还是NULL,而我们这时希望把NULL当成0来运算。
SELECT IFNULL(COMM,0) FROM EMP;:如果comm存在NULL值,那么当成0来运算。
IV 给列起别名
你也许已经注意到了,当使用列运算后名称很不好看,这时需要给列名起别名,这样在结果集中列名就显示别名了
SELECT IFNULL (COMM,0)+1000 AS 奖金 FROM emp;
–>其中AS可以省略
SELECT EMPNO,ENMAE JOB,SAL,COMM FROM EMP;
//其中ENMAE JOB表示起别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值