csdn_spider/blog/ds19991999/原创-- 第一章 数据库和SQL.md

2.6 KiB
Raw Permalink Blame History

原创

第一章 数据库和SQL

第一章 数据库和SQL

参考书籍:https://book.douban.com/subject/27055712/

目录

1、法则

2、SQL书写规则

3、权限管理

MySQL 的账户信息保存在 mysql 这个数据库中。

USE mysql;
SELECT user FROM user;

创建账户

新创建的账户没有任何权限。

CREATE USER myuser IDENTIFIED BY 'mypassword';

修改账户名

RENAME myuser TO newuser;

删除账户

DROP USER myuser;

查看权限

SHOW GRANTS FOR myuser;

授予权限

账户用 username@host 的形式定义username@% 使用的是默认主机名。

GRANT SELECT, INSERT ON mydatabase.* TO myuser;

删除权限

GRANT 和 REVOKE 可在几个层次上控制访问权限:

REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;

更改密码

必须使用 Password() 函数

SET PASSWROD FOR myuser = Password('new_password');

4、SQL常用命令

修改MySQL提示符:

mysql -uroot -proot --prompt 提示符 # 连接客户端时通过参数指定
prompt 提示符 # 连接客户端之后通过prompt指定

参数描述 |------ \D完整的日期 \d当前数据库 \h服务器名称 \u当前用户
CREATE {DATEBASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

SHOW {DATABASE | SCHEMAS} [LIKE "pattern" | WHERE expr]

SHOW WARNINGS;

SHOW CREATE  DATABASE t1;

ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name

DROP {DATABASE |SCHEMA} [IF EXISTS] db_name;

SELECT *
FROM mytable; -- 注释
/* 注释1
   注释2 */

5、表的创建、修改和插入

创建表


CREATE TABLE mytable (
  id INT NOT NULL AUTO_INCREMENT,
  col1 INT NOT NULL DEFAULT 1,
  col2 VARCHAR(45) NULL,
  col3 DATE NULL,+
  PRIMARY KEY (`id`)); --设定主键

修改表

添加列

ALTER TABLE mytable
ADD col CHAR(20);

删除列

ALTER TABLE mytable
DROP COLUMN col;

删除表

DROP TABLE mytable;

修改表名

ALTER TABLE <原表名> to <新表名>

插入表数据

普通插入,不指定列则要求全部要插入

START TRANSACTION; 
INSERT INTO mytable(col1, col2)
VALUES(val1, val2);
...
COMMIT;