SQL语句大全 一、创建和删除数据库1、创建用户//创建用户且置密码,在MySQL中行,但在Oracle中行 ----必须在超级管理员身份下操作 create user hncu identified by '1234' 2、创建数据库//创建数据库 并手动指定编码格式 3、删除数据库DROP DATABASE mydb2; //删除数据库 二、数据库编码问题1、指定数据库编码方法1:可以在MySQL的配置文件如my.ini中指定: default-character-set = GBK 或 default-character-set = utf8 方法2:在创建数据库时自己指定,如: CREATE DATABASE IF NOT EXISTS hncu DEFAULT CHARACTER SET 'utf8'; ▲相比较而言,对我们来讲,第2种方法更好。一是配置文件是平台,不能随意改,而且通常是由DBA来做的,我们没权设置,甚至MySQL都不在我们的电脑中。二是只 要我们自己在创建数据库时自己指定编码,无论平台默认配置的是什么编码,对我们没有影响,一句话不依赖你的平台----可移置及兼容性好。 2、查看数据库编码SHOW VARIABLES; //查询系统中的所有变量 SHOW VARIABLES WHERE variable_name LIKE 'character%'; //查询系统中所有的编码方面的参数 查询结果: character_set_client utf8 //客户端编码 (不同的客户端显示的可能不一样,如cmd窗口和SQLyong) character_set_connection utf8 //客户端连接数据库时用的编码 character_set_database gbk //数据库的默认编码(一般来讲,这是由my.ini配置文件定的。这是没进数据库时的通用编码) character_set_filesystem binary //这是数据库自己存储数据文件时用的编码,跟我们关系不大 character_set_results utf8 //查询之后的结果集的编码 character_set_server gbk //MySQL数据库服务器自己的编码 iso8859-1在这里称Latin1 character_set_system utf8 character_set_dir MySQL安装目录 \share\charsets
character_set_database 数据库的编码必须要能够支持中文,否则输入中文有问题的 3、设置(修改)数据编码//如何设置指定的编码 set character_set_client=gbk; SET character_set_client=gbk; SHOW VARIABLES WHERE variable_name LIKE 'character%'; SELECT * FROM stud;//原来的数据显示正常 INSERT INTO stud VALUES(1011,'城院',20,88,'数计学院'); SELECT * FROM stud;//刚刚插入的那条记录,是乱码 //因为我们这里client是gbk,而connection是utf8,不一致了 SET character_set_connection=gbk;//已经把client和connection设成gbk,一致了 INSERT INTO stud VALUES(1012,'城院2',20,88,'数计学院'); SELECT * FROM stud;//显示刚刚插入的那条记录,还是乱码。因为数据库表stud的编码是utf8,而我们客户端与它的连接都是gbk 上面只能保证添加到数据库中的汉字不会出现乱码。 ▲如果读取出来,还要看results、所访问的数据库的编码和我们java代码中的解码是否一致。 三、创建表格//创建表格 CREATE TABLE stud( id INT PRIMARY KEY, sname VARCHAR(30) , age INT); ----------------------------------------------------------------------- char(20) ----固定长度的char数组 //SQL语言 全部忽略大小写----大小写不敏感 -----------------------------------------------------------------------
四、对表格操作USE hncu; SHOW TABLES;//查询(显示)表格 DESC stud; //查看数据表student的表结构 1、往数据表中插入数据INSERT INTO stud VALUES( 1003,'Rose',22 ); //插入记录,当数据不全时,要指定列名 INSERT INTO stud(id,sname,age,score) VALUES(1010,'李小明',25,90);//未指定列名的方式赋值时,必须要给全,默认值不给也不行 INSERT INTO a(id,sname) VALUES(1,'Tom'); //错:UNIQUE限定该列的值必须唯一(可以为NULL,但最多只能有一个) INSERT INTO a(id,sname) VALUES(2,'Tom'); //对,性别未赋,则用默认 2、查询数据SELECT * FROM stud;//查询表中所有的数据 SELECT sname,age FROM stud; //只查询(显示)表中的指定列 3、删除数据DELETE FROM stud WHERE age=30; //删除年龄为30的表记录
4、更新数据UPDATE stud SET sname='杰克' WHERE sname='Jack'; //更改数据 5、更改表结构ALTER TABLE (添加一列)ALTER TABLE stud ADD COLUMN score NUMERIC(4,2); ※※※※※建立联合主键※※※※※ 6、创建视图CREATE VIEW studView AS SELECT * FROM stud WHERE score |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|